This chapter presents the requirements and recommendations for graphics adapters, display monitors, and video playback and capture devices under the Microsoft Windows family of operating systems.
Requirements for MPEG1 and DVD playback, video input and capture devices, and display monitors are defined in the "Video Components" chapter in Part 4 of guide.
This section presents the key design issues for graphics adapters under Microsoft Windows. Graphics-related issues for PC 97 are based on the needs of the system to provide fast, high-quality graphics rendering. New games applications that require 3D graphics or advanced graphics applications such as CAD require improved support in the graphics hardware.
Key PC 97 issues for graphics adapters in general:
Key issues for Workstation PC 97:
Key issues for Entertainment PC 97:
DirectDraw is the Windows system component that allows direct manipulation of video display memory, hardware block transfers (bit-blters), hardware overlays, and page flipping. DirectDraw performs the common functions required by both hardware and software emulation implementations, while maintaining compatibility with the Windows GDI. This provides compatibility with existing applications and device drivers created for Windows. The user will experience the highest quality performance when using new hardware that provides built-in DirectDraw acceleration and rendering capabilities.
Direct3D is a DirectX technology that provides access to hardware acceleration for 3D rendering. Some basic and general 3-D capabilities will become pervasive in entertainment software by the end of 1997 and should be provided in all graphic cards to improve the performance of 3-D games, business graphics, Internet 3D file (VRML) viewing, and professional 3-D applications.
Microsoft ActiveMovie provides access to hardware acceleration for MPEG1 playback, which will become increasingly important to provide high-performance video in the context of games, Internet content viewing, computer-based training, and desktop video conferencing. Some PC 97 hardware requirements ensure support for video playback on all PCs running Windows operating systems.
OpenGL technology is an open industry standard 3-D graphics API used to support 3D graphics capabilities. This is primarily for high-end or professional 3D applications such as engineering, modeling, simulation, visualization, animation, 3-D clip art and Internet content (VRML) viewing. OpenGL has some higher requirements for visual rendering precision than general Direct3D devices, but it can also take advantage of appropriate Direct3D hardware. There is also a class of high-end, 3-D graphics hardware specifically targeted at the OpenGL developer which requires an OpenGL client driver rather than or in addition to a Direct3D driver.
This section summarizes the requirements for the graphics adapter for PC 97 system designs.
Basic PC 97 | Workstation PC 97 | Entertainment PC 97 |
Required | Required | Required |
For all components in PC 97, buses such as PCI, USB, and IEEE 1394 are strongly recommend over any legacy buses for all devices. For the primary graphics adapter, it is required that the video bus is not ISA. A higher-performance solution is required to optimize performance of the packed-pixel frame buffer. Possible implementations that meet this requirement can include PCI v. 2.1 for all system types or the Intel Accelerated Graphics Port (AGP) interface for x86-based systems.
Basic PC 97 | Workstation PC 97 | Entertainment PC 97 |
Recommended | Recommended | Required |
Support for TV output is required if an Entertainment PC 97 system does not include a large-screen entertainment monitor. The ability to connect and use a standard NTSC/PAL television as a large display surface is key to the ability to deliver realistic TV, movie, and game viewing experiences. For mobile PCs, TV output capabilities can be used to enable on-screen presentation graphics in the conference room.
If NTSC is supported, the NTSC system must support 640x480 at 60 Hz. If PAL is supported, the PAL system must support 640x480 and 800x600 at 50 Hz. For details about the related requirements, see "TV Output for PC 97" later in this chapter. This recommendation will not become a requirement for Basic PC systems in the future.
Basic PC 97 | Workstation PC 97 | Entertainment PC 97 |
Required | Required | Required |
The default VGA driver is required for installing the operating system, and the primary adapter must support 4-bit planar VGA mode as described in the Windows 95 DDK. Secondary adapters in multiple monitor configuration do not need to provide VGA compatibility.
Basic PC 97 | Workstation PC 97 | Entertainment PC 97 |
Required | Required | Required |
This support consists of Plug and Play-related configuration and resource requirements that ensure automatic support for using more than one graphics adapter and support for simultaneous display on two or more monitors. For details, see "Multiple Adapter and Multiple Monitor Support for PC 97" later in this chapter.
This section defines requirements for basic features for graphics adapters.
Required |
These include the standard requirements for a Plug and Play device identifier, automated software-only settings for device configuration, standard device drivers and Windows-based installation, and icons for external connectors. For more information, see the "Basic PC 97" chapter of this guide.
Basic PC 97 | Workstation PC 97 | Entertainment PC 97 |
800x600x16 bpp 640x480x8 bpp, small LCD | 1024x768x16 bpp | 1024x768x16 bpp |
A Basic PC 97 system must contain a graphics adapter that permits a color depth of 16 bpp, minimum. These are the minimum resolution requirements:
Display RAM requirements are tied directly to the minimum graphics resolution supported by the adapter. The requirement to support double buffering implies 1.5 MB of display RAM. However, PC 97 requirements do not specify minimum display RAM support; rather, the adapter designer can implement any solutions for supporting the minimum resolution requirements.
Note When the user selects 1024x768 resolution, by default the graphics adapter must use a non-interlaced refresh rate.
Basic PC 97 | Workstation PC 97 | Entertainment PC 97 |
Required | Required | Required |
VGA registers must not be used to perform graphics operations such as bit-blting, palette setting, and pointer movement. The registers used for these graphics operations can be either I/O locations or memory-mapped locations, but must be relocatable. Normal operation of the system - except system startup and mode setting- should never require using base VGA registers.
Required |
Recommended: 85 Hz for 1024x768.
The graphics adapter, at a minimum, must support the ergonomic timings documented in the current version of VESA and Industry Standards and Guidelines for Computer Display Monitor Timing for all resolutions up to 1280x1024 that are supported by the monitor. Higher scan rates are preferable under standards published by VESA.
Required |
Graphics adapters that support packed-pixel frame buffers at color depths greater than 8 bpp should support one or more of the pixel orderings for color depth that are supported by the Windows DIB engine. (Color ordering is shown from the most-significant bit (MSB) to the least-significant bit (LSB.)
Format | Color ordering | |
---|---|---|
| ||
15 bpp | 1 undefined, 5 red, 5 green, 5 blue (URRR RRGG GGGB BBBB) | |
16 bpp | 5 red, 6 green, 5 blue (RRR RRGGG GGGB BBBB) | |
24 bpp | 8 red, 8 green, 8 blue (RRRR RRRR GGGG GGGG BBBB BBBB) | |
32 bpp | 8 undefined, 8 red, 8 green, 8 blue (UUUU UUUU RRRR RRRR GGGG GGGG BBBB BBBB) |
Recommended |
For graphics adapters that support 24bit or higher displays, downloadable RAM digital-to-analog converter (RAMDAC) entries should be included to perform gamma correction in hardware.
Note This will become a requirement in 1998.
Required |
This requirement is based on the Display Data Channel DDC 2.0 specification (DDC2B), which defines the communication channel between the display and host system. The adapter must be able to report to the operating system or its driver whether a VGA or an SVGA monitor is attached. The software can use this information to properly manage output to the various displays and to prevent the disabling of TV output if no monitor is attached.
Basic PC 97 | Workstation PC 97 | Entertainment PC 97 |
Required (horizontal) | Required (horizontal) | Required (horizontal and vertical) |
To support accelerated software playback of motion video, all graphics adapters should support scaling and interpolation to any size window, up to full screen, at any video mode. Doubling (pixel replication) is not an acceptable implementation.
Hardware stretching also allows 3D to be rendered to a smaller back buffer (therefore at higher speeds) and scaled up to the front buffer. Although integral stretches are useful, arbitrary stretches are better because they allow dynamic resizing of the back buffer to maintain constant high frame rates.
Note This capability is recommended but not required for mobile PCs.
To support accelerated software playback of video, all graphics cards must support off-screen surfaces in either of the two following packed YUV 4:2:2 sampled formats:
The YUV color space and intensity range is defined by the ITU-R BT.601-4 standard (previously called CCIR-601), where U is CB and V is CR.
These formats use less memory while maintaining high quality, and YUV is the native format for many image and video compression standards.
Note This capability is recommended but not required for mobile PCs.
This section defines the requirements for ensuring system support for multiple adapters and multiple monitors. This required support ensures that if the user adds a second adapter, resources will automatically be available and that the operating system can automatically manage multiple display adapters.
The actual implementation a user might employ could be one of the following:
The support planned for both Windows 95 and Windows NT requires multiple-adapter compatibility in both the graphics adapter and its driver. With this new multiple adapter/multiple monitor support, a single adapter that supports multiple monitors can display independent screen images. This is support beyond the current simultaneous display features for some mobile PCs, which show the same Windows desktop on two displays at the same time.
The operating system support for multiple adapters/multiple monitors requires allowing any secondary graphics adapters to be enabled in VGA mode, thus requiring that VGA for the previous adapter be temporarily disabled.
The support for multiple monitors also assumes that for monitors attached to the same system but showing different images simultaneously, the different displays might have differing X,Y resolution, color depths, and refresh rates plus differing display capabilities.
For technical details about designing for multiple monitor/multiple adapter support, see http://www.microsoft.com/hwdev/devdes/.
Required |
To ensure Plug and Play for multiple adapter/multiple monitor capabilities, all non - VGA standard display resources (also known as extended resources, such as register sets and so on) must be capable of being dynamically relocated after system boot.
This is an extension of the earlier requirement, "Graphics operations use relocatable registers only," and is an addition to the basic Plug and Play requirements defined later in this chapter.
Required |
A means must be provided to allow a driver to disable its adapter from decoding standard VGA addresses. The purpose of this requirement is to ensure the adapter is independent of all other graphics adapters in the system. The adapter must remain fully functional without the VGA addresses. See also the earlier requirement, "Graphics operations use relocatable registers only."
Recommendation |
The purpose of this requirement is to avoid problems that occur with multiple ROM mappings at C0000h.
Microsoft is investigating providing an alternate standard for ROM format. Based on such a standard, data tables from the ROM could be used by the driver to program the graphics adapter. A generic mode setting routine could be provided by the operating system to initialize the graphics adapter.
This section summarizes guidelines related to 2-D DirectDraw graphics features that can be implemented as hardware acceleration features.
Hardware acceleration for 2D graphics is required for Entertainment PC 97 systems, with individual items in this section marked as required or recommended for that system type.
In general, hardware acceleration for 2D graphics is not required for Basic PC 97 or Workstation PC 97 systems. The individual items in this section are required or recommended only if a hardware manufacturer chooses to implement hardware acceleration in a graphics adapter. For Workstation PC 97, it is recommended that the PC system manufacturer select graphics adapters that provide hardware acceleration when designing PC systems to support high-quality graphics for use with professional graphics applications.
The following items for DirectDraw acceleration are presented in this section in order of importance.
Basic PC 97 | Workstation PC 97 | Entertainment PC 97 |
Required | Required | Required |
It must be possible for applications to perform direct frame buffer accesses at any time, even while asynchronous accelerator operations are being executed. Without this capability, drivers cannot support DirectDraw or Direct3D on Windows NT, and operations on Windows 95 will not be fully robust.
Basic PC 97 | Workstation PC 97 | Entertainment PC 97 |
Recommended | Recommended | Required |
Decreasing the size of the frame buffer decreases the average polygon size and increases the frame rate for a given scene. Most games currently run in 320x200x8 bpp mode. Providing additional modes provides support for software rendering games and software Direct3D.
If you implement low-resolution support in the hardware, the following are the required low-resolution modes:
320x200x16 bpp | 320x240x16 bpp | 640x400x16 bpp |
---|---|---|
320x200x8 bpp | 320x240x8 bpp | 640x400x8 bpp |
The following low-resolution modes are recommended:
400x300x16 bpp | 512x384x16 bpp | |
---|---|---|
400x300x8 bpp | 512x384x8 bpp |
Note In Windows 95, low-resolution capabilities must not be defined in the registry so that they do not appear in the Display Control Panel. In Windows NT, the Control Panel automatically filters out these modes.
Basic PC 97 | Workstation PC 97 | Entertainment PC 97 |
Recommended | Recommended | Required |
A transparent blter can perform a blt with a source key transparent color. This assumes that the blter is asynchronous with the host processor.
Basic PC 97 | Workstation PC 97 | Entertainment PC 97 |
Recommended | Required | Required |
If the frame buffer is large enough to support double-buffering, the hardware should support a mechanism for swapping buffers without visible artifacts such as "tearing." The mechanism for doing this is at the discretion of the hardware designer, but should support tear-free double-buffering for both full-screen and windowed applications.
Basic PC 97 | Workstation PC 97 | Entertainment PC 97 |
Recommended | Recommended | Required |
The ability to read the current scan line supports blting or writing to the screen without tearing. Also, in some contexts such as video playback, this support eliminates the need for a back buffer.
Basic PC 97 | Workstation PC 97 | Entertainment PC 97 |
Recommended | Recommended | Recommended |
A programmable blter stride ensures that Windows can use linear memory. Using a fixed stride forces Windows to use rectangular memory management, with all the related inefficiencies. It must be possible to specify different strides for the source and the destination on blts.
Basic PC 97 | Workstation PC 97 | Entertainment PC 97 |
Recommended | Recommended | Required |
The compositing of the video plane under the VGA plane with the VGA pixels must be independently controllable for each VGA pixel. This VGA destination color keying must function in all video modes using either a specific color/color range (on 4, 8, 16, and 24bit SVGA modes) or an additional alpha blending bits in the color plane bits (on 15 and 32bit SVGA modes).
This color keying of the VGA will allow certain VGA pixels to be replaced by the underlying video pixels on a pixel-by-pixel basis. This feature enables VGA video overlays, controls, Windows popups, dialogs, and so on. It must also work at the same time as any vertical/horizontal scaling that is active for the underlying video.
This section summarizes guidelines related to Microsoft Direct3D technologies that can be implemented as hardware acceleration features. Supporting the items in this section can result in improved performance and better memory use.
Hardware acceleration for 3D graphics is required for Entertainment PC 97 systems, with individual items in this section marked as required or recommended for that system type.
In general, hardware acceleration for 3D graphics is not required for Basic PC 97 or Workstation PC 97 systems. The individual items in this section are required or recommended only if a hardware manufacturer chooses to implement hardware acceleration in a graphics adapter. It is recommended that the PC system manufacturer select graphics adapters that provide 3D hardware acceleration when designing PC systems to support high-quality graphics for use with professional graphics applications or for "multimedia" systems.
Note For specific features for Workstation PC 97, this section assumes a workstation system designed to support a graphics-intensive use such as CAD. These requirements are not general requirements for Workstation PC 97.
There are two broad classes of hardware suitable for OpenGL-based 3-D applications. At the low end, OpenGL can drive Direct3D devices, so any Direct3D device is in principle compatible with OpenGL. However, OpenGL has conformance requirements for rasterization, including specific requirements for subpixel precision and Z-buffer calculations, which are more precise than the Direct3D software rendering library.
Direct3D hardware designed to support OpenGL-based applications must be capable of meeting the OpenGL rasterization rules, and Direct3D drivers must report through the appropriate caps bit, whether or not the hardware actually conforms to OpenGL requirements.
There is also a class of graphics adapters designed specifically for OpenGL. Although these cards can also expose their 3D capabilities through a Direct3D driver, they generally expose their capabilities to OpenGL through a client driver.
Information about OpenGL rasterization requirements and conformance rules is available from the OpenGL Architectural Review Board. Additional information is available on the Usenet newsgroup for OpenGL: comp.graphics.opengl.
Hardware that implements 32bpp display modes (for example, display hardware for high-end engineering workstations) should implement RGB mode rasterization. OpenGL supports a color index mode, but most OpenGL applications require RGB mode rasterization.
Basic PC 97 | Workstation PC 97 | Entertainment PC 97 |
Recommended | Required | Required |
In RGB mode under Direct3D, shading across a surface is accomplished by independently interpolating in all color components. If 3-D hardware supports RGB mode rasterization, it must support the following features:
Basic PC 97 | Workstation PC 97 | Entertainment PC 97 |
Recommended | Recommended | Recommended |
If 3-D hardware supports RGB mode rasterization, the following additional features in hardware are also recommended:
Basic PC 97 | Workstation PC 97 | Entertainment PC 97 |
Recommended | Recommended | Recommended |
For destination alpha blending, transparent primitives are blended with the background behind them, updating not only the frame buffer but also a cumulative transparency for the background that can affect the rendering of subsequent primitives. This method is capable of the greatest visual accuracy but is computationally expensive, requires the hardware to support a dedicated alpha buffer, and is recommended only for high-end workstations that must support complex 3-D image compositing and volume-rendering applications.
Basic PC 97 | Workstation PC 97 | Entertainment PC 97 |
Recommended | Recommended | Recommended |
For source alpha blending, transparent primitives are blended with the background, but the background transparency is not updated. This method provides good visual accuracy if there are not too many overlapping transparent objects.
Basic PC 97 | Workstation PC 97 | Entertainment PC 97 |
Optional | Optional | Optional |
Instead of either a source alpha blend or a full destination alpha blend, Direct3D can be switched to a mode where it uses stipple patterns keyed off the interpolated alpha value. This saves destination reads and multiplies, and does not require sorting of primitives. This mode is simple to implement, but is not visually acceptable for engineering and other professional 3D uses.
Basic PC 97 | Workstation PC 97 | Entertainment PC 97 |
Recommended | Required | Recommended |
If hardware designed for the workstation market supports 3-D acceleration, it must also provide two 16-bpp or 24-bpp frame buffers.
Workstation applications and many games and consumer titles require smooth animation. In many cases, this requires the display hardware to support two pixel buffers, although some applications and hardware designed for the entertainment market can provide smooth animation using other techniques.
Basic PC 97 | Workstation PC 97 | Entertainment PC 97 |
Recommended | Required | Recommended |
Typically, 3-D applications perform hidden surface elimination through the use of Z-buffers, although many game applications use specialized geometry and algorithms instead. If hardware targeting the workstation market supports 3-D acceleration, it must also provide at least a 16-bit Z-buffer.
Basic PC 97 | Workstation PC 97 | Entertainment PC 97 |
Recommended | Recommended | Recommended |
Support for palettized textures allows for much less texture memory. Particularly useful are 4-bit and 8-bit palettized textures, each with their own palettes.
Basic PC 97 | Workstation PC 97 | Entertainment PC 97 |
Recommended | Required | Required |
Hardware that provides 3-D acceleration should take advantage of techniques available to improve parallelism between the host controller and the rasterizer, which can include use of DMA support, FIFOs, or other methods. The choice of technique is up to the manufacturer, but it should provide for good buffering of performance differences between host and rasterizer in cases where there is a mix of large and small triangles.
Basic PC 97 | Workstation PC 97 | Entertainment PC 97 |
Recommended | Recommended | Recommended |
For much 3-D hardware, passing a mass of data over the bus for each triangle creates a bottleneck. Advanced hardware can take a higher-level and more compact description of the triangle and compute this setup data on the fly. The setup is faster, and the bus transfer is also simpler. Adding triangle setup capabilities for workstation and entertainment systems is strongly recommended.
Any 3-D hardware intended to support professional 3-D markets that implements triangle setup must include subpixel correction.
This section summarizes the key design issues and requirements for TV output capabilities, which are recommended for all system types and required for any Entertainment PC 97 PC system that does not include a large-screen entertainment monitor.
The requirements in this section apply only if the capability is present on a PC system or on a graphics adapter that supports TV output capabilities. Some TV output capabilities listed in this section are required only for Entertainment PC 97.
The required support allows an NTSC/PAL TV to be used as a primary or secondary display surface for the Windows operating system and Windows-based applications. Such a display surface allows more realistic game, video, and multimedia experiences for users who want to use the large-screen TV they might already own.
If TV output capabilities are provided in a PC system, support is required for either NTSC or PAL TV output standards:
For information about world TV standards, see:
http://www.bbc.co.uk/aberdeen/eng_info/world_tv.htm
Basic PC 97 | Workstation PC 97 | Entertainment PC 97 |
Recommended | Recommended | Recommended |
Either NTSC or PAL standards must be supported if TV output capabilities are included in the adapter or system design; however, it is recommended to support both standards. If NTSC is supported, the NTSC system must support 640x400 and 640x480 at 60 Hz. If PAL is supported, the PAL system must support 640x480 and 800x600 at 50 Hz. Whether either or both output standards are supported, software must have the capability to enable and disable TV and VGA output independently.
Note For NTSC, 60-Hz mode described in this section is actually 59.940 Hz.
Basic PC 97 | Workstation PC 97 | Entertainment PC 97 |
Recommended | Recommended | Required |
TV output must work automatically as the primary display if a VGA monitor is not attached. The graphics adapter must default to modes compatible with TV output. Adapters manufactured for NTSC countries should default to 60Hz modes; those manufactured for PAL countries should default to 50Hz modes.
Basic PC 97 | Workstation PC 97 | Entertainment PC 97 |
Recommended | Recommended | Required |
The TV-output adapter must be able to correct horizontal and vertical overscan using hardware scaling. This allows 640x480 resolution modes to fit onto NTSC displays and 800x600 modes to fit onto PAL displays. Driver software must have the capability to enable and disable scaling and also adjust scaling for compatibility with a variety of TVs. When TVs age, overscan reduces, so less scaling is required. Also, overscan can be enabled by software when the PC is playing full-screen video.
Basic PC 97 | Workstation PC 97 | Entertainment PC 97 |
Required | Required | Required |
The TV-output adapter must use multi-line (three-tap minimum) hardware filtering techniques for flicker reduction. Enable, disable, and adjust capabilities for the flicker filter must be able to be controlled by software. Also, overscan can be enabled by software when the PC is playing full-screen video.
Note Flicker filter is not required in overscan mode.
Basic PC 97 | Workstation PC 97 | Entertainment PC 97 |
Required | Required | Required |
Proper termination is required so that optimal picture quality from any connector does not require displays to be attached to other connectors. For example, a VGA monitor must not be required for the S-Video output to appear properly.
Basic PC 97 | Workstation PC 97 | Entertainment PC 97 |
Recommended | Recommended | Required |
S-Video dramatically improves the picture quality of the NTSC/PAL scan converter, compared to composite video. This standard is designed to reduce crosstalk between chrominance and luminance signals and to increase the luminance bandwidth capability of the TV. For a description of this standard, see:
http://www.bbc.co.uk/aberdeen/eng_info/s-video.htm
Notice that most European TV sets now have two SCART sockets (also called Peritel); one allows stereo audio and composite video input/output switchable to RGB inputs; the other supports switching from composite input to S-Video input. The first can be used to connect a satellite receiver for RGB capability; the second can be used to connect a VCR using S-Video for TV output. A camcorder usually has connections for composite video, stereo audio, and S-Video. For a description of the SCART standard, see:
http://www.bbc.co.uk/aberdeen/eng_info/scart.htm
Basic PC 97 | Workstation PC 97 | Entertainment PC 97 |
Required | Required | Required |
In addition to TV output, the system must also support VGA output to ensure that users with existing larger-screen VGA monitors can use this output capability.
Note Simultaneous output to VGA monitor and TV is recommended, but not required.
Basic PC 97 | Workstation PC 97 | Entertainment PC 97 |
Recommended | Recommended | Required |
Software must be able to program the TV-output hardware to position the TV image in increments of four pixels horizontally and four scan lines vertically.
Basic PC 97 | Workstation PC 97 | Entertainment PC 97 |
Recommended | Recommended | Required |
Software must be able to read the TV output hardware to detect whether a TV is attached to either S-Video or composite output connectors. (Detection of a VGA monitor is achieved using the separate DDC requirement for graphics adapters and monitors.) This is required to allow the operating system and graphics drivers to support display output correctly during the startup sequence (for example, determining what resolution and refresh rate to use), and for applications to adjust their user interfaces appropriately to the screen capabilities.
This section summarizes requirements related to the design initiatives for PC 97 defined in Part 1 of this guide.
The items in this section summarize requirements for Plug and Play and other resource- and bus-related capabilities. The specifications in this section are required for all PC 97 systems.
Note See also the requirement "Graphics operations must use relocatable registers only" earlier in the "Graphics Adapter Basic Features" section.
Required |
The device must have a unique device ID using the format required for its bus. A PCI device must comply with PCI 2.1 requirements and also provide a Subsystem ID and Subsystem Vendor ID, as defined in the "PCI" chapter in Part 3 of this guide.
Required |
Changing or adding a graphics adapter to the system must not require changing jumpers or switches on either the card or the system board. The system must have a method for automatically relocating the resources used by a graphics adapter on the system board in the case that a graphics adapter expansion card is added to the system. In the event of irreconcilable conflict with other devices on the system, the system must be able to disable one of the adapter in order to prevent the system from stalling.
The system must support the VGA graphics standard for application compatibility and for the Windows clean-boot error-recovery process. If a VGA BIOS exists on the graphics adapter, it must be able to configure its base address to C0000h and one (minimum) alternate address to prevent conflicts.
Extended resources are additional I/O ports, direct-access frame buffers, or data transfer areas on a graphics adapter that use more resources than does standard VGA. The Windows configuration manager must be able to map the resources to avoid conflicts with other system devices. At least one alternate configuration must be provided for each non - VGA display resource in the event of conflict during initial program load (IPL) boot.
The software drivers and VGA BIOS (if used) must be able to use alternate configuration register addresses. The system must be able to disable or relocate VGA resources from C0000h dynamically.
For additional related requirements for multiple monitor support, see the section "Multiple Adapter and Multiple Monitor Support for PC 97" earlier in this chapter.
Required |
The display driver for Windows 95 queries the actual device to find its register locations and so on. The PCI Base Address Registers must be populated correctly for this information to be correct in the registry.
The use of an IRQ for a video device is not recommended unless it is being physically used by the adapter - the Interrupt Pin Register (3Dh) should be zero (0). Do not request the IRQ for compatibility with the original VGA standard; request the IRQ only if it will be used on the adapter. If you want to allow this IRQ, a jumper or soft-setting utility could be used. If the BIOS configures an IRQ for the device, then Windows 95 will report this IRQ in the registry. Alternatively, the IRQ could be requested by using the INF for the device.
Required |
Note For DirectDraw, the graphic adapter's chip set must support linear access to the frame buffer by the host.
Windows 95 is optimized for a graphics adapter with a packed-pixel frame buffer at all supported resolutions. Memory-mapped packed-pixel frame buffers also provide a fast and simple interface between Windows 95 and the graphics adapter. The Windows 95 DIB engine provides a very fast display by writing directly to packed-pixel frame buffers, and this architecture requires that the hardware developer write only a small, simple device driver.
For optimized support with Windows 95, a linear packed-pixel frame buffer is required over a bank-switched frame buffer. Use 32-bit addresses to allow the linear frame buffer to be placed above the 16-MB ISA boundary, which enables a system to be populated with large amounts of RAM.
If memory or other resources conflict with the frame buffer being mapped into a linear address space, the page frame address can be used with minimal degradation of performance.
Required |
This requirement applies for x86-based systems. The option ROM for the graphics adapter must meet current DDC host requirements documented in the Display Data Channel DDC 2.0 specification published by VESA. This standard defines the functions that support the data channel between the graphics adapter and a DDC-compliant monitor.
Required |
Some VGA-compatible adapters support ISA IRQ 2 (PIC interrupt 9) as the hardware interrupt for vertical refresh. This interrupt, which can be used to synchronize updates to VGA registers during vertical refresh, exists mainly for compatibility with EGA-style adapters and is used by few modern graphics adapters. Windows 95 does not use it. Therefore, if IRQ 2(9) capability is included on your graphics adapter (unless you use it during the card initialization), it should power up inactive when power is turned on and should not actively drive the bus.
The adapter must also not claim IRQ 2(9) when enumerating device resources. The Windows resource arbitrator assigns devices to all other IRQs before using IRQ 2(9), so it will most likely remain unused. In this context, IRQ 2(9) refers to the IRQ signal logically mapped to IRQ 2 on the ISA bus (for historical reasons). From a hardware designer's point of view, however, IRQ 9 refers to pin 19 of the slave 8259 PIC.
This section summarizes the specific power management requirements for graphics adapters.
Required |
The "Device Class Power Management Reference Specification" for the display device class provides definitions of the OnNow device power states (D0 - D3) for display and graphics devices. The specification also covers device functionality expected in each power state and the possible Wakeup event definitions for the class, if any. Power states D0 and D3 are required. Other power states are recommended.
Optional |
For PC 97, the ability to cause a Wakeup event as defined in the "Device Class Power Management Reference Specification" for display devices is an optional feature.
Required |
The VESA BIOS Extension Standard / Core Functions 2.0 specification defines extensions to VGA ROM BIOS services for power management.
This section summarizes the requirements for graphics adapters. The specifications in this section are required for all PC 97 systems.
For additional related requirements for multiple monitor support, see the section "Multiple Adapter and Multiple Monitor Support for PC 97" earlier in this chapter.
Required |
The standard requirements for drivers and installation include the following:
For complete details about standard installation requirements for drivers, see "Basic PC 97" in Part 2 of this guide.
Required |
Any Windows-based applications provided with the device must meet Microsoft requirements for software compatibility as indicated by the "Designed for Microsoft Windows" logo.
Recommended |
For Windows 95, this recommendation means that the driver uses the named function export called ValidateDesk and correctly stores desktop size and screen size in the Registry. For information, see the Windows 95 DDK.
For Windows NT 4.0, applications should use the panning fields in the DEVMODE structure to set the virtual desktop size.
Required |
The graphics adapter must operate properly and not fail when asked by the operating system to change the color depth.
This section lists some of the publications, services, and tools available to help build hardware that works with Windows operating systems.
Design guidelines for DirectX, multiple monitor/multiple adapter support, and other technologies.
http://www.microsoft.com/hwdev/devdes/
Windows 95 DDK, Windows NT DDK, and DirectX DDK
MSDN Professional membership
Display Data Channel DDC 2.0 (includes VBE/DDC)
VESA BIOS Extension Standard / Core Functions 2.0
VESA and Industry Standards and Guidelines for Computer Display Monitor Timing
Video Electronics Standards Association
2150 North First Street, Suite 440
San Jose, CA 95131-2029
Telephone: (408) 435-0333
Fax: (408) 435-8225
http://www.vesa.org
World TV and S-Video interface standards
http://www.bbc.co.uk/aberdeen/eng_info
Device Class Power Management Reference Specification
http://www.microsoft.com/hwdev/onnow.htm
Basic PC 97 | Workstation PC 97 | Entertainment PC 97 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
System Requirements for Graphics Adapters | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1. Primary graphics adapter does not use legacy bus | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Required | Required | Required | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2. Support for NTSC or PAL TV output, if no large-screen monitor | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recommended | Recommended | Required | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3. Primary graphics adapter works normally with default VGA mode driver | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Required | Required | Required | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
4. Support for multiple adapters and multiple monitors | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Required | Required | Required | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Graphics Adapter Basic Features | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
5. General device requirements | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Required | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
6. PC 97 minimum resolution | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
800x600x16 bpp | 1024x768x16 bpp | 1024x768x16 bpp | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
640x480x8 bpp, small LCD | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
7. Graphics operations use relocatable registers only | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Required | Required | Required | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
8. VESA specifications for ergonomic timing rates: 75 Hz for 1024x768 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Required | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
9. Support one or more pixel orderings for color depth | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Required | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
10. Downloadable RAMDAC entries to support image color matching | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recommended | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
11. Graphics adapter supports DDC 2.0 Level 2 monitor detection | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Required | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
12. Hardware arithmetic stretching | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Required (horizontal) | Required (horizontal) | Required (horizontal and vertical) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
13. YUV off-screen surfaces for color space conversion | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Required | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Multiple Adapter and Multiple Monitor Support for PC 97 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
14. Plug and Play conflict resolution for multiple monitors/multiple adapters | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Required | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
15. VGA resources can be disabled by software | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Required | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
16. Provide alternate mechanization to Int 10 for initialization | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recommendation | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Hardware Acceleration for 2D Graphics | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
17. Direct frame buffer access | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Required | Required | Required | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
18. Linear-mapped low resolution modes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recommended | Recommended | Required | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
19. Transparent blter | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recommended | Recommended | Required | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
20. Perform double-buffer swaps with no tearing | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recommended | Required | Required | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
21. Current scan line of refresh | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recommended | Recommended | Required | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
22. Programmable blter stride | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recommended | Recommended | Recommended | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
23. VGA destination color keying for video rectangle | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recommended | Recommended | Required | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Hardware Acceleration for 3D Graphics | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recommended | Required | Required | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
25. Recommended RGB rasterization features | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recommended | Recommended | Recommended | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
26. Destination alpha blending for transparency effects | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recommended | Recommended | Recommended | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
27. Source alpha blending for transparency effects | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recommended | Recommended | Recommended | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
28. Stippled alpha blending (screen door transparency) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Optional | Optional | Optional | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
29. Double buffer support for workstation-quality 3D graphics | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recommended | Required | Recommended | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
30. Hidden surface removal | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recommended | Required | Recommended | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
31. Palettized textures | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recommended | Recommended | Recommended | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
32. Support for improved parallelism between host and rasterizer | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recommended | Required | Required | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
33. Triangle setup | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recommended | Recommended | Recommended | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
TV Output for PC 97 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
34. Support both NTSC and PAL output | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recommended | Recommended | Recommended | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
35. Default boot mode supports appropriate locale | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recommended | Recommended | Required | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
36. Underscan scaling | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recommended | Recommended | Required | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
37. Flicker filter | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Required | Required | Required | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
38. Proper termination | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Required | Required | Required | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
39. Support RCA-style composite video and S-Video connectors | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recommended | Recommended | Required | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
40. Support both VGA and TV output | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Required | Required | Required | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
41. Positioning | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recommended | Recommended | Required | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
42. Software detection of TV connection | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recommended | Recommended | Required | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PC 97 Design for Graphics Adapters Plug and Play and Bus Design for Gtsphics
Adapters | 43. Plug and Play device identifier
| Required
|
|
| 44. Conflict resolution, VGA compatibility, and extended register
| Required
|
|
| 45. PCI base address registers populated correctly for PCI
graphics device
| Required
|
|
| 46. Linear packed pixel frame buffer, relocatable above 16
MB
| Required
|
|
| 47. Option ROM supports Display Data Channel DDC 2.0, Level
B
| Required
|
|
| 48. Do not use IRQ 2(9)
| Required
|
|
| Power Management for Graphics Adapters 49. Compliance with "Device Class Power Management Reference
Specification"
| Required
|
|
| 50. Support Wakeup Events defined in "Device Class Power
Management Reference Specification"
| Optional
|
|
| 51. Adapter complies with VBE/Core 2.0 extensions for power
management
| Required
|
|
| Device Driver and Installation for Graphics Adapters 52. Device driver and installation meet Windows and Windows
NT standards
| Required
|
|
| 53. Applications provided with device meet Windows standards
| Required
|
|
| 54. Driver support for virtual desktop
| Recommended
|
|
| 55. Driver support for dynamic color bit-depth change
| Required
|
|
|
| |